<?php
if (!isset($_SESSION))
	session_start();

require_once('config.php');
require_once(APP_OBJ_PATH . 'database.class.php');
require_once(APP_OBJ_PATH . 'login.class.php');

error_reporting(E_ALL);
ini_set("error_log", APP_LOG_PATH);


if (DEBUG_MODE)
{
	ini_set("display_errors", 1);
	ini_set("log_errors", 1);
}

else
{
	ini_set("log_errors", 0);
	ini_set("display_errors", 0);
}

$db = Database::getInstance();
ob_start();

function htmlchr($str)
{
	return htmlspecialchars($str);
}

function htmlent($str)
{
	return htmlentities($str);
}

function encrypt($str)
{
	return sha1(md5($str . 'UWQHxtEa36yt3UuTlLpJB3sHP6Y89NiYpnaCP22FTnDzdCKWal44bIxSGNyLx8L6'));
}

function uniqStr($len = 8)
{
	$charset = array_merge(range('A', 'Z'), range('a', 'z'), range(0, 9));
	$str = "";
	while ($len != 0)
	{
		$str .= $charset[rand(0, sizeof($charset) - 1)];
		$len--;
	}
	return $str;
}

function getUniqueCode($length = "")
{
	$code = md5(uniqid(rand(), true));
	return ($length != "")? substr($code, 0, $length) : $code;
}

function mailPassword($email, $password)
{
	if (empty($email) || empty($password))
		return false;
	$headers = 'From: beheerder@kms.nl';
	mail($email, 'Uw inloggegevens voor KMS', '
		Er is een account voor u aangemaakt voor KMS.
		U kunt inloggen met de volgende gegevens:
		Email: '.$email.'
		Wachtwoord: '.$password.'

		Wij adviseren u om dit wachtwoord zo snel mogelijk te veranderen zodra u bent ingelogd.
		Dit doet u door naar het gebruikerspaneel te gaan en daar te klikken op "Wachtwoord wijzigen".

		[DIT IS EEN AUTOMATISCH BERICHT, GELIEVE NIET OP TE REAGEREN]', $headers);
}

function curDate()
{
	$date = new DateTime();
	return $date->format('Y/m/d H:i:s');
}

function getGroep($groepid)
{
	global $db;
	$stmt = $db->prepare("SELECT Groep FROM groep WHERE GroepID = :groepid");
	$stmt->bindParam(':groepid', $groepid, PDO::PARAM_INT);
	$stmt->execute();
	$result = $stmt->fetch(PDO::FETCH_ASSOC);
	return ucfirst($result['Groep']);
}

$_SESSION['AUTOLOAD'] = true;


spl_autoload_register(function ($class) {
	if($_SESSION['AUTOLOAD'])
	require_once(APP_OBJ_PATH.strtolower($class).'.class.php');
});


function notification ($message, $type)
{
	$icon = '';
	$prefix = '';
	$state = '';
	switch ($type)
	{
		case 'ok':
		case 'success':
			$icon = 'ui-icon-check';
			$prefix = 'Success';
			$state = 'ui-state-highlight';
			break;

		case 'info':
			$icon = 'ui-icon-info';
			$prefix = 'Informatie:';
			$state = 'ui-state-highlight';
			break;

		case 'warning':
		case 'alert':
			$icon = 'ui-icon-alert';
			$prefix = 'Belangrijk:';
			$state = 'ui-state-highlight';
			break;

		case 'error':
			$icon = 'ui-icon-alert';
			$prefix = 'Foutmelding:';
			$state = 'ui-state-error';
			break;

		default:
			$icon = 'ui-icon-info';
			$prefix = 'Info:';
			$state = 'ui-state-highlight';
			break;
	}

	$notification = '
		<div class="ui-widget">
			<div class="'.$state.' ui-corner-all" style="padding: 0 .7em;">
				<p style="margin: 1em 0;">
					<span class="ui-icon '.$icon.'"
						style="float: left; margin-right: .3em;"></span>
					<strong style="font-weight: 900;">'.$prefix.'</strong> '.$message.'
				</p>
			</div>
		</div><br />';
	return $notification;
}
?>